﻿/*
 *********************************************************************
 *    Management Extensions for Windows Windows Server AppFabric     *
 *********************************************************************
 *    Author    : Fatih Boy [fatih@enterprisecoding.com]             *
 *    Web site  : http://www.enterprisecoding.com                    *
 *********************************************************************
 *    License   : GNU Library General Public License (LGPL)          * 
 *********************************************************************
 */

using System;
using System.Runtime.InteropServices;

namespace Com.Enterprisecoding.AppFabric.Extensions.Client.ObjectPicker.Interop {
    [Serializable]
    [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
    public struct DSOP_SCOPE_INIT_INFO {
        /// <summary>
        /// Size, in bytes, of the structure
        /// </summary>
        public uint cbSize;

        /// <summary>
        /// Scope types described by this structure
        /// </summary>
        public uint flType;
        
        /// <summary>
        /// Format used to return ADsPath for objects selected from this scope
        /// </summary>
        public uint flScope;
        
        /// <summary>
        /// Indicates the types of objects presented to the user for this scope or scopes
        /// </summary>
        [MarshalAs(UnmanagedType.Struct)]
        public DSOP_FILTER_FLAGS FilterFlags;
        
        [MarshalAs(UnmanagedType.LPWStr)]
        public string pwzDcName;
        
        [MarshalAs(UnmanagedType.LPWStr)]
        public string pwzADsPath;
        
        public uint hr;
    }
}